package main

import (
	"fmt"
	"time"
)

func main() {
	var idCard string
	fmt.Println("请输入您的18位身份证号码：")
	fmt.Scanln(&idCard)

	// 验证身份证号码格式
	if len(idCard) != 18 || idCard[0] != '4' {
		fmt.Println("身份证号码格式不正确")
		return
	}

	// 提取出生日期
	birthDateStr := idCard[6:14]
	layout := "20060102"
	birthDate, err := time.Parse(layout, birthDateStr)
	if err != nil {
		fmt.Printf("无法解析出生日期: %v\n", err)
		return
	}

	// 计算年龄
	now := time.Now()
	age := now.Year() - birthDate.Year()
	if now.YearDay() < birthDate.YearDay() || (now.YearDay() == birthDate.YearDay() && now.Hour() < birthDate.Hour()) {
		age--
	}

	// 判断年龄
	if age >= 18 {
		fmt.Println("该身份证持有者已满18岁，可以录取")
	} else {
		fmt.Println("该身份证持有者未满18岁，可以劝退")
	}
}
